<?php
/**
 * @package Joostina
 * @copyright Авторские права (C) 2008 Joostina team. Все права защищены.
 * @license Лицензия http://www.gnu.org/licenses/gpl-2.0.htm GNU/GPL, или help/license.php
 * Joostina! - свободное программное обеспечение распространяемое по условиям лицензии GNU/GPL
 * Для получения информации о используемых расширениях и замечаний об авторском праве, смотрите файл help/copyright.php.
 */

// запрет прямого доступа
defined( '_VALID_MOS' ) or die();


class mod_menu_Helper {

	private $_mainframe = null;
	
	function mod_menu_Helper($mainframe) {
		$this->_mainframe = $mainframe;
	}

	function load_css($css_array = array()) {
		$css = '';
		foreach($css_array as $css_link) {
			$css_link = JPATH_SITE.'/modules/mod_menu/framework/'.$css_link;
			$css = '<link href="'.$css_link.'" rel="stylesheet" type="text/css" />';
			$this->_mainframe->addCustomFooterTag($css);
		}
	}

	function load_js($js = array(), $params) {
		foreach($js as $file) {
			?><script type="text/javascript" src="<?php echo JPATH_SITE; ?>/modules/mod_menu/view/<?php echo $params->get( 'type_menu', 'tree' ) ;?>/js/<?php echo $file;?>"></script><?php
		}
	}

	function get_menu_tree($params) {
		$menutype = $params->get('menutype','mainmenu');

		$all_menus = mosMenu::get_all();
		$menus = $all_menus[$menutype];

		if($params->get('first_item', 1)) {
			unset($menus[0]);
		}

		$children = array();
		foreach($menus as $v) {
			$pt = $v->parent;
			$list = @$children[$pt] ? $children[$pt] : array();
			array_push($list,$v);
			$children[$pt] = $list;
		}
		return $children;
	}

	function get_menu_single($params) {
		$menutype = $params->get('menutype','mainmenu');

		$all_menus = mosMenu::get_all();
		$menus = $all_menus[$menutype];

		if($params->get('first_item', 1)) {
			unset($menus[0]);
		}

		return $menus;
	}

	//Подготавливаем класс контейнера <li>
	function prepare_li($row, $level = 0, $isset_children = 0) {
		global $Itemid;

		$li = '<li>';
		$li_class = array();

		if($isset_children) {
			$li_class[] = 'dir';
		}

		if($Itemid == $row->id) {
			if($level == 0) {
				$li_class[] = 'current';
			}
			else {
				$li_class[] = 'currentsub';
			}
		}

		if($li_class) {
			$li = '<li class="'.implode(' ', $li_class).'">';
		}

		return $li;

	}

	//Подготавливаем класс контейнера <li>
	//Для меню adobe_com, flickr_com_horizontal
	function prepare_li2($row, $level = 0) {
		global $Itemid;

		$li = '<li>';
		$li_class = array();

		if($Itemid == $row->id) {
			if($level == 0) {
				$li_class[] = 'current';
			}
			else {
				$li_class[] = 'currentsub';
			}
		}

		if($li_class) {
			$li = '<li class="'.implode(' ', $li_class).'">';
		}

		return $li;

	}

	//Для меню vimeo_com
	function prepare_li3($row, $level = 0, $first=0, $last = 0) {
		$li = '<li>';

		if($first) {
			$li = '<li class="first">';
		}elseif($last) {
			$li = '<li class="last">';
		}

		return $li;

	}

	function prepare_href($row) {

		if($row->type == 'separator') {
			$href = 'javascript:void(0)';
		}
		else if($row->type == 'url') {
			$href = $row->link;
		}
		else {
			$href = sefRelToAbs($row->link.'&Itemid='.$row->id);
			$href = ampReplace($href);
		}

		return $href;

	}


}